#!/bin/bash

set -euvo pipefail

GITLAB=$1
PROJ=$2
BRANCH=$3
TAR_NAME=$4
BUILD_WORK_DIR=$5
ENV=$6

if [ ! -n $BRANCH ]; then
  echo "请指定分支名称"
  exit 1
fi
if [ ! -n $TAR_NAME ]; then
  echo "请指定构建标识"
  exit 1
fi


# 1. 拉取项目 或 清除项目下所有改动
mkdir -p $BUILD_WORK_DIR
cd $BUILD_WORK_DIR
if [ ! -d $PROJ ]; then
  git clone $GITLAB
  cd $PROJ
else
  cd $PROJ
  git checkout . && git clean -f
fi

# 2. 切换并更新分支
git fetch origin
git checkout $BRANCH
git pull origin $BRANCH

OUT_DIR=$BUILD_WORK_DIR/output
mkdir -p $OUT_DIR

npm i
npm run $ENV

tar -zcvf $OUT_DIR/$TAR_NAME.tar.gz ./dist
